
import * as dayjs from 'dayjs'
import store from '@/store'

export default {
  install: function (Vue) {
    console.log(Vue, 999)
    Vue.directive('errorImg', {
      /*
  自定义指令的钩子函数有哪些  5个
   */
      bind: function () { },
      /* 等待所有的dom元素全部加载完毕之后在执行 类似mounted */
      inserted: function (el, obj) {
        if (!el.src) {
          el.src = obj.value
        }
        // console.log(el.src, 444)
        /* dom元素在加载的过程中加载资源失败是的时候就会触发 */
        el.onerror = function () {
          //el.src = '@/assets/common/head.jpg'
          el.src = obj.value

          //       /* 自定义指令的功能
          //       步骤总结：
          //       1-Vue.directive(自定义指令的名字,对象)
          //       2-inserted：等待dom元素全部插入到dom树里面之后在执行
          //         2-1：可以获取dom元素，可以给dom元素绑定一个资源加载失败的事件
          //         2-2：重新给dom设置他的src
          //         2-3 将设置的src值写活，
          //         需要在navBar组件中使用指令的时候传值 v-errorImg="defaultImg"
          //         2-4inserted猴子函数需要获取传过来的值，获取之后在赋值给dom元素的src

          //        */
        }
      },
    })
    Vue.directive('arrow', {
      inserted (el, binding) {
        console.log(store.state.user.userInfo.roles.points, 888777666);
        var pints = store.state.user.userInfo.roles.points
        //  判断获取的值在不在这个数组中
        var flag = pints.includes(binding.value)
        if (!flag) {
          // 传入的值不在这个points数组中，不在：就不显示这个按钮，移除按钮
          el.parentNode.removeChild(el)
        }
      }
    })

    // Vue.filter('forMat', (msg) => {
    //   console.log(msg, 82);
    //   var t = new Date(msg)
    //   var YY = t.getFullYear()
    //   var MM = t.getMonth() + 1
    //   var DD = t.getDate()
    //   var hh = t.getHours()
    //   var mm = t.getMinutes()
    //   var ss = t.getSeconds()
    //   // var w = t.getDay()
    //   return `${YY}-${MM}-${DD}-${hh}:${mm}:${ss}`
    // })

    Vue.filter('forMat', (msg, str = 'YYYY-MM-DD hh:mm:ss') => {
      return dayjs(msg).format(str)
    })


  },
}
